﻿using System;
using System.Windows.Media.Imaging;

namespace LFSRecord2.Structures
{
    public static class BitmapCache
    {
        public static BitmapImage KWLeftArrowOn { get; private set; }
        public static BitmapImage KWCenterDotOn { get; private set; }
        public static BitmapImage KWRightArrowOn { get; private set; }

        public static BitmapImage KWLeftArrowOff { get; private set; }
        public static BitmapImage KWCenterDotOff { get; private set; }
        public static BitmapImage KWRightArrowOff { get; private set; }

        public static BitmapImage KFNormal { get; private set; }
        public static BitmapImage KFNormalS { get; private set; }
        public static BitmapImage KFEaseIn { get; private set; }
        public static BitmapImage KFEaseInS { get; private set; }
        public static BitmapImage KFEaseOut { get; private set; }
        public static BitmapImage KFEaseOutS { get; private set; }
        public static BitmapImage KFEaseInOut { get; private set; }
        public static BitmapImage KFEaseInOutS { get; private set; }
        public static BitmapImage KFCannotEase { get; private set; }
        public static BitmapImage KFCannotEaseS { get; private set; }
        public static BitmapImage KFHold { get; private set; }
        public static BitmapImage KFHoldS { get; private set; }
        public static BitmapImage KFEaseInHold { get; private set; }
        public static BitmapImage KFEaseInHoldS { get; private set; }

        public static BitmapImage Mpr { get; private set; }
        public static BitmapImage Audio { get; private set; }

        public static void initialize()
        {
            KWLeftArrowOn = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KeyWalkerLeftArrow.png"));
            KWLeftArrowOn.Freeze();
            KWCenterDotOn = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KeyWalkerCenterDot.png"));
            KWCenterDotOn.Freeze();
            KWRightArrowOn = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KeyWalkerRightArrow.png"));
            KWRightArrowOn.Freeze();

            KWLeftArrowOff = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KeyWalkerLeftArrowOff.png"));
            KWLeftArrowOff.Freeze();
            KWCenterDotOff = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KeyWalkerCenterDotOff.png"));
            KWCenterDotOff.Freeze();
            KWRightArrowOff = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KeyWalkerRightArrowOff.png"));
            KWRightArrowOff.Freeze();

            KFNormal = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgNormal.png"));
            KFNormal.Freeze();
            KFNormalS = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgNormalS.png"));
            KFNormalS.Freeze();
            KFEaseIn = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgEaseIn.png"));
            KFEaseIn.Freeze();
            KFEaseInS = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgEaseInS.png"));
            KFEaseInS.Freeze();
            KFEaseOut = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgEaseOut.png"));
            KFEaseOut.Freeze();
            KFEaseOutS = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgEaseOutS.png"));
            KFEaseOutS.Freeze();
            KFEaseInOut = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgEaseInOut.png"));
            KFEaseInOut.Freeze();
            KFEaseInOutS = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgEaseInOutS.png"));
            KFEaseInOutS.Freeze();
            KFCannotEase = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgCannotEase.png"));
            KFCannotEase.Freeze();
            KFCannotEaseS = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgCannotEaseS.png"));
            KFCannotEaseS.Freeze();
            KFHold = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgHold.png"));
            KFHold.Freeze();
            KFHoldS = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgHoldS.png"));
            KFHoldS.Freeze();
            KFEaseInHold = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgEaseInHold.png"));
            KFEaseInHold.Freeze();
            KFEaseInHoldS = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/KFImgEaseInHoldS.png"));
            KFEaseInHoldS.Freeze();

            Mpr = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/Mpr.gif"));
            Mpr.Freeze();
            Audio = new BitmapImage(new Uri("pack://application:,,,/data/bitmaps/icons/Audio.png"));
            Audio.Freeze();
        }
    }
}
